//////////////////////////////////////////////////////////////////////////////////
//	 Copyright 2011 by Yosef Grabivker, ryuho@homenetworksoft.com
//
//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.
//////////////////////////////////////////////////////////////////////////////////

#ifndef CONFIGDATA_H_
#define CONFIGDATA_H_

#include "def.h"

class CConfigData
{
public:
							
							CConfigData();
	virtual					~CConfigData();

	//User
	wxString				GetUser();
	void					SetUser(const wxString& strVal); 

	//Password
	wxString				GetPassword();
	void					SetPassword(const wxString& strVal);
	
	//IP
	wxString				GetIP();
	void					SetIP(const wxString& strVal);
	
	//Port
	unsigned short			GetPort();
	void					SetPort(unsigned short wVal);

	//Protocol
	cPROTOCOL				GetProtocol();
	void					SetProtocol(cPROTOCOL cVal);

	bool					GetUseSSHKeys();
	void					SetUseSSHKeys(bool bVal);

	wxString				GetPubKey();
	void					SetPubKey(const wxString& strVal);

	wxString				GetPrivKey();
	void					SetPrivKey(const wxString& strVal);

	wxString				GetPassPhrase();
	void					SetPassPhrase(const wxString& strVal);

	wxString				GetLoginPromptString();
	void					SetLoginPromptString(const wxString& strVal);

	wxString				GetShellString();
	void					SetShellString(const wxString& strVal);

	void					SetHTTPString(const wxString& strVal);
	wxString				GetHTTPString();

	void					SetHTTPEnable(bool bHTTPEnable);
	bool					GetHTTPEnable();


	//Properties
	wxString				GetProperties();
	void					SetProperties( const wxString& val);

	wxString				GetPingXML();
	void					SetPingXML( const wxString& val);

	
	//Locale
	long					GetLangId();
	void					SetLangId(long val);

	//Filters
	wxString				GetFilters(cSearchOwnerID cID);
	void					SetFilters(cSearchOwnerID cID, const wxString& val);

	//MAC list
	wxString				GetMACList(cMACBlockRuleId cID);
	void					SetMACList(cMACBlockRuleId cID, const wxString& val);

	//advanced opt string
	wxString				GetAdvancedOptXML();
	void					SetAdvancedOptXML(const wxString& strVal);

	//Port Forwarding
	wxString				GetPortForwardXML();
	void					SetPortForwardXML(const wxString& strVal);

	
	//RouterID
	wxString				GetRouterID();
	void					SetRouterID(const wxString& strVal);

	//ADSL
	wxString				LoadADSLXML();
	void					SaveADSLXML(const wxString& strVal);

	//Script Gen Seed
	wxString				GetUniqueSeed();
	void					SetUniqueSeed(const wxString& strVal);

	//IP Resolve
	void					SetIPResolve(bool bEnable);
	bool					GetIPResolve();
	
private:
	class wxConfig *		m_config;
};

#endif /*CONFIGDATA_H_*/
